1. The Field of the Invention
The present invention generally relates to the field of distributed computing and production environments. More particularly, the present invention relates to an apparatus and method that enables devices disposed in a distributed environment to accurately and efficiently identify data corruption.
2. The Relevant Technology
Distributed environments are widely used to operably interconnect various components, such as computers or other devices, via a communications network. One application where distributed environments may be advantageously employed is in calibrating manufactured components prior to packaging and sale. Calibrating and analyzing manufactured components is typically necessary to ensure that they have been correctly manufactured and are ready for use. A typical distributed calibration environment may comprise a central control unit disposed at one location, such as the headquarters of a company, and several component calibrating devices, used to calibrate and analyze the components, that are located in one or more remote locations. The various components of this distributed environment are operably connected via a communications network, such as the Internet, for example.
The distributed calibration environment described above is often used because it allows for the calibration of the components on-site at the remote manufacturing facility before shipping them elsewhere. Thus, any problems that are detected through analysis may be corrected at the point of manufacture. This is often found to be the most economical method for component calibrating.
Notwithstanding their economy, however, distributed calibration environments also present various challenges. For instance, it is often necessary for each calibrating device disposed in the distributed testing environment to report various statistics to the central control unit. These statistics most often relate either to the function of the calibrating device in evaluating the functionality of the manufactured component, or to the analysis of the component itself. For example, component yield (pass rate) and device calibration are two such statistics that may need to be reported to the central control unit by each calibrating device. These statistics typically are manually transmitted by an operator or technician to the control unit via a communications network. The manual nature of this reporting consumes valuable time and resources that could be better spent elsewhere. Further, because of the amount of time it requires, manual reporting of pertinent statistics from each testing device to the control unit delays the speed at which the control unit can compile the reported information for analysis by a technician. Not only does this further waste resources, but it also prevents the timely discovery and response to problem conditions that may exist in one or more calibrating devices or manufactured components. This may result in unnecessary over-rejecting of manufactured components that are in fact acceptable for use, or worse, under-rejecting of manufactured components, wherein defective components erroneously pass the testing cycle and are approved for packaging and sale.
Another problem typically associated with distributed networks relates to data formatting and storage. Data from each of the various devices must be formatted into a common format before it can be transmitted to a permanent database for analysis and comparison purposes. Therefore, most networks utilize some form of flat file or intermediate storage location for information to be collected. Unfortunately, the use of a single flat file with multiple clients introduces collision problems when more than one device attempts to write to the file at the same time. Existing software has been developed to minimize the amount of collision problems but it cannot completely prevent data loss from occurring in this scenario. For example, if calibration data is concurrently being generated by multiple devices, each of the devices will attempt to write to the file at the same time. The software may be able to prevent this collision by only allowing one device to the write to the file at a time. However, during this lag time in which the other devices are prevented from writing to the file, additional calibration data may be generated that could overwrite the original calibration data. Therefore, calibration data could be lost even if the collision to the one flat file is prevented.
A need therefore exists for a method by which the corruption of component analysis data can be efficiently identified and rectified. The method should include the ability to transmit data from a central network location to one or more devices disposed in a remote location of a distributed environment. In addition, the method should minimize or prevent the possibility of data loss due to collisions.